今天發現了一個好方法,想不出來或是想優化時間複雜度的時候,請GPT帶著我一步一步進行,既不會大卡關,也不會完全都沒有在思考。
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n = nums.size();
vector<int> left_products(n, 1);
for (int i = 1; i < n; i++) {
left_products[i] = left_products[i - 1] * nums[i - 1];
}
vector<int> ans(n, 1);
int right_product = 1;
for (int i = n - 1; i >= 0; i--) {
ans[i] = left_products[i] * right_product;
right_product *= nums[i];
}
return ans;
}
};